package com.etone.smartAudit.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etone.smartAudit.domain.ServerInfo;
import com.etone.smartAudit.enums.IapDataField;
import com.etone.smartAudit.vo.serverInfo.ServerInfoBaseVO;
import com.etone.smartAudit.vo.serverInfo.ServerInfoListVO;
import com.etone.smartAudit.vo.serverInfo.ServerInfoTotalVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ServerInfoMapper extends BaseMapper<ServerInfo> {

    /**
     * 服务器列表
     *
     * @param name
     * @param ip
     * @param id
     * @param field
     * @param manager
     * @return
     */
    List<ServerInfoListVO> list(@Param("name") String name, @Param("ip") String ip, @Param("id") Integer id, @Param("field") IapDataField field, @Param("manager") String manager);

    ServerInfoTotalVO sumInfo();

    /**
     * 服务器基本信息
     *
     * @param itemId
     * @return
     */
    List<ServerInfoBaseVO> finListSimple(@Param("itemId") Integer itemId);

    /**
     * 查询需要采集数据的服务器
     *
     * @return
     */
    List<ServerInfo> findNeedCollectInfoServer();

    /**
     * 更新es收集信息
     *
     * @param serverInfo
     * @return
     */
    int updateEsInfo(ServerInfo serverInfo);
}
